package com.sc.nft.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sc.nft.entity.dto.DigitalCollectionProductInfoSubscribeCodeDTO;
import com.sc.nft.entity.dto.DigitalCollectionProductInfoSubscribeCodeRequest;
import com.sc.nft.entity.vo.DigitalCollectionProductInfoSubscribeCodeSummaryVO;
import com.sc.nft.entity.vo.DigitalCollectionProductInfoSubscribeCodeVo;
import com.sc.nft.entity.vo.WinningUsersVO;
import com.sc.nft.vo.WinNoticePeopleVo;

/**
 * 用户申购码(DigitalCollectionProductInfoSubscribeCode)表服务接口
 *
 * @author 王伟成
 * @since 2024-05-15 18:32:39
 */
public interface DigitalCollectionProductInfoSubscribeCodeService{

    Page<DigitalCollectionProductInfoSubscribeCodeVo> getSubscribeCodePage(DigitalCollectionProductInfoSubscribeCodeDTO request);

    DigitalCollectionProductInfoSubscribeCodeSummaryVO getSubscribeCodeSummary(Long id);

    Page<WinningUsersVO> getSubscribeCodeUserPage(DigitalCollectionProductInfoSubscribeCodeRequest request);


    /**
     * 抽签,对某一期进行抽签
     * @param productId 商品id
     * @return
     */
    Boolean drawLots(Long productId);

    /**
     * 结果公布发送短信
     * @param productId
     * @return
     */
    Boolean resultAnnounceSendMessage(WinNoticePeopleVo winNoticePeopleVo,Long productId);
}
